字串格式化有幾種方法
字串 | 功用 |
---|---|
%% | 在字串 中顯示% |
%d | 以10 進位整數方式輸出 |
%f | 將浮點 數以10進位方式輸出 |
%e, %E | 將浮點 數以10進位方式輸出,並使用科學記號 |
%o | 以8進 位整數方式輸出 |
%x, %X | 將整 數以16進位方式輸出 |
%s | 使用str()將字串輸出 |
%c | 以字元 方式輸出 |
%r | 使用repr()輸 出字串 |
e.g.
[In]
print('He is %s' % 'Andy') #使用str()將字串輸出
print('%f' % 2.34) # 將浮點數以10進位方式輸出
print('%d' % 2.65655) # 以10 進位整數方式輸出
print('He is %s' % 'Andy') #使用str()將字串輸出
[Out]
2.340000
2
He is Andy
{}放在目標字串的指定位置,format放在要連接的字串、數值或變數
1.不指定順序
{}內不指定索引值(Index value)的話,預設從0開始
[In]
cookies = "20" #變量
milk = "15" #變量
pack="i have {} cookies and {} milk".format(cookies,milk)
pack
[Out] 'i have 20 cookies and 15 milk'
2.指定順序
在{}中加入索引值就可
[In]
cookies = "20"
milk = "15"
soda = "3"
pack="i have {1} cookies {0} milk and {2} soda ".format(cookies,milk,soda) #從0開始
pack
[Out]
'i have 15 cookies 20 milk and 3 soda '
Python3.6後可使用一種方法,只需在字串前加入一個f就可格式化,{}填入目標函數
[In]
cookies = "20"
milk = "15"
soda = "3"
pack= (f"i have {cookies} cookies {milk} milk and {soda} soda ") #字串前加f{}內填入目標變數
pack
[Out]
'i have 20 cookies 15 milk and 3 soda '
1.>要從內建模組引入Template
2.>使用Template()包住目標字串,並使用錢$符號來標示變數
3.>樣板字串預設使用錢$符號來標示變數
4.>替換資料的格式為dictionary
5.>最後使用substitute()來替換變數
引用上述文字從https://ppt.cc/fnq5sx
[In]
from string import Template
a = Template("$Human needs $O2")
a.substitute(Human='andy',O2="Oxygen")
[Out]
'andy needs Oxygen'
今天的筆記就到這邊為止
Source:
https://openhome.cc/Gossip/Python/StringFormat.html